// 根据promise a+ 规范来说
// then()接受两个参数 如果参数是不是函数将被忽略
// onFulfilled 将在promise fulfilled 后调用并接受一个参数
// onRejected 将在promise rejected 后调用 并接受一个参数
// 另外 then  一定返回的是promise
// 若两参数是函数，当函数返回的是一个新的promise对象时
//原promise 跟新promise 状态保持一致
// 如果返回的promise 是个pending 状态 将保留直到转换为fulfilled / rejected
//
// promise中断请求  不就是在then的时候将返回值新promise保持状态为pending
// 那么这个promise 的链也将会中止（等待）

Promise.resolve().then(()=>{
    // pending
    console.log(1)
    // 这个新的 Promise 对象的状态永远都不会被修改，因为它的执行器函数是空的，所以它会一直处于未决（pending）状态
    return new Promise(()=>{})
    // 后面的then 将不会调用
}).then(()=>{
    console.log(2)
}).catch(()=>{
    console.log(3)
})
